home *** CD-ROM | disk | FTP | other *** search
/ PC-SIG: World of Games / PC-SIG World of Games (CDRM1080710) (1993).iso / 1434 / SPRINGER.DOC < prev    next >
Text File  |  1989-01-09  |  24KB  |  529 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                                      SPRINGER
  7.          
  8.                       A Chess Playing Program for the IBM PC
  9.          
  10.          
  11.                                     Version 1.0
  12.                               Released 9 January 1989
  13.          
  14.          
  15.          
  16.                          (C) Copyright 1989 by Ken Goodman
  17.          
  18.          
  19.          
  20.          
  21.          
  22.          
  23.          
  24.          INTRODUCTION
  25.          ------------
  26.          
  27.          Springer is a chess program for the IBM PC which offers several
  28.          levels of varying playing strength to challenge the vast majority
  29.          of human players, as well as an excellent on-screen display of
  30.          the chess position.  The playing strength of this program is,
  31.          quite frankly, not quite as good as that of the best commercial
  32.          programs, though most human players should find it more than
  33.          adequate in this respect.  In several ways (including playing
  34.          strength) I believe this program is far superior to all others I
  35.          have seen released as shareware products or in the public domain.
  36.          
  37.          You should have no trouble using the program if you already know
  38.          how to play chess.  Springer starts out in its normal playing
  39.          mode, with the board shown on-screen in the format of a standard
  40.          chess diagram.  Moves are entered by using the "arrow" keys to
  41.          move an indicator around the chess board and the Enter key to
  42.          select the piece you want to move and the square you want to move
  43.          it to.  If you press an invalid key, a help screen/menu will
  44.          appear, providing brief instructions and allowing single-key
  45.          access to special functions such as saving/recalling games in
  46.          disk files.
  47.          
  48.          This document provides some detailed information about Springer
  49.          and how to use the program, but assumes that you already know the
  50.          rules of chess.  Novices should be aware that Springer knows and
  51.          makes use of the special moves of Castling and En Passant
  52.          capture.  Please refer to a suitable chess book or primer for
  53.          details of these special moves or other rules of chess.
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.          The major features offered by Springer are:
  73.          
  74.            * 10 levels of play to suit almost any user's playing strength
  75.            * Excellent display of chess board with Color Graphics Adapter
  76.            * Good display of board on a monochrome or text-only system
  77.            * Diagram of chess position on Epson or compatible printer
  78.            * Printout of complete game record in Algebraic chess notation
  79.            * Ability to save and recall complete games on disk
  80.            * Easy entry of moves using arrow keys and on-screen cursor
  81.            * Referee mode to supervise games between two players
  82.            * Autoplay mode:  any level against any other level
  83.            * Step backward/forward to review game move-by-move
  84.          
  85.          
  86.          NORMAL PLAY
  87.          -----------
  88.          
  89.          Springer starts by displaying a banner to identify the program
  90.          and version, then after a short delay enters its NORMAL playing
  91.          mode.  The starting position is displayed, and the game begins
  92.          with the user playing the White pieces against the computer
  93.          opponent "Springer  Lev1".  The message area to the right of the
  94.          chess board shows that it is "Your move."  Please note that the
  95.          players are identified by names printed at the top and bottom of
  96.          the board.  As in standard chess diagrams, White starts from the
  97.          bottom of the diagram, and Black from the top.  Also note that
  98.          NORMAL playing mode is indicated in the upper right corner of the
  99.          screen.
  100.          
  101.          Press a key and the square containing your King is highlighted,
  102.          and the message area asks "Piece?"  To begin a game, make a move
  103.          by selecting a piece to move, then a square to move it to.  Use
  104.          the cursor keys (up, down, left and right arrows, and Home, PgUp,
  105.          End and PgDn for diagonal directions) to move the highlighted
  106.          square (the cursor) around on the board.  After moving the cursor
  107.          to highlight the piece you wish to move, press the Enter key,
  108.          then move the cursor to the square you wish to move to in answer
  109.          to the "Destination?" prompt.  Springer will then show the move
  110.          being made on the board, then choose and make a move of its own.
  111.          If you try to make an illegal move, Springer will tell you so,
  112.          and the move entry process will be repeated.
  113.          
  114.          Special moves:  Castling is entered by moving your King two
  115.          squares left or right;  the Rook's movement will automatically be
  116.          shown on the board to complete the move.  En Passant captures are
  117.          entered just as the normal pawn capture would be entered:  by
  118.          selecting the starting and ending squares of the capturing pawn.
  119.          
  120.          Want to use Springer's commands to change playing level, swap
  121.          sides, etc?  Press the ESC key at your turn and a menu and brief
  122.          instructions will be displayed.  If you know the simple key
  123.          sequences for the commands you want to use, you can bypass the
  124.          menu by pressing the * key instead of ESC, then the primary
  125.          command key.  Bypassing the menu in this way keeps the board
  126.          display on the screen for commands that don't require additional
  127.  
  128.                                           2 
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.          input.  Springer also accepts commands typed on the command line
  139.          used to run the program.  In this case, * is used to begin a
  140.          command, and / substitutes for the Enter key required by some
  141.          commands.
  142.          
  143.          Some examples:  To play Black against the computer, use the
  144.          Swap-sides command at the beginning of the game (using the S
  145.          option from the menu, or by pressing the keys * S).  To change to
  146.          playing level 5, the command sequence * (or ESC for the menu) O
  147.          (for Options) L (for Level) 5 / is required.  Starting Springer
  148.          from DOS with the command line "SPRINGER *OL5/*S" will start a
  149.          game with the user playing Black against "Springer  Lev5".
  150.          
  151.          If you have a suitable graphics adapter, Springer automatically
  152.          shows the board using CGA 320x200 graphics and 4 colors, while if
  153.          your computer has a text-only display adapter, the board is shown
  154.          using text and special characters to represent the pieces.  If
  155.          you have a graphics adapter attached to a monochrome monitor, you
  156.          may wish to force Springer to use text mode to display the board,
  157.          since light and dark squares may be hard to distinguish.  You can
  158.          use the Options command to enable or disable graphics, as well as
  159.          sounds normally produced by the program.
  160.          
  161.          Is Springer taking too long to make a move?  Press ESC to force
  162.          the program to quit thinking and make a move.  Of course this
  163.          will have some effect on the quality of Springer's move.  Also,
  164.          the program's thinking time is relatively constant throughout the
  165.          game, and is up to the user through the choice of playing level,
  166.          as shown by the APPROXIMATE time chart below:
  167.          
  168.            Level       0    1    2    3    4    5    6    7    8    9
  169.            ---------+----+----+----+----+----+----+----+----+----+---
  170.            Min Time    0    5   10   15   20   25   30   35   40   45
  171.            Max Time    5   25   45   65   85  105  125  145  165  185
  172.          
  173.           (Times are in seconds, and Max Time depends slightly on CPU.)
  174.          
  175.          AUTOPLAY AND REFEREE MODES
  176.          --------------------------
  177.          
  178.          If you wish, you can make Springer play against itself by
  179.          changing to AUTOPLAY mode using the A key from the command menu.
  180.          You will be prompted for playing levels for White and Black, and
  181.          you can choose to pit any level against any other level.  It
  182.          might be entertaining, for instance, to watch "Springer  Lev5"
  183.          play a game against "Springer  Lev1".  To get out of AUTOPLAY
  184.          mode, you can wait for either side to make a move, then press the
  185.          ESC key to go to the command menu, from which you can switch to
  186.          NORMAL or REFEREE mode, quit and start a new game, exit to DOS,
  187.          etc.  To get out of AUTOPLAY immediately, you can press ESC
  188.          twice:  the first ESC forces Springer to quit thinking about its
  189.          move, and the second ESC calls up the menu.
  190.          
  191.          In REFEREE mode, two people can play a game against each other,
  192.          with Springer keeping track of the game and checking each move
  193.  
  194.                                           3 
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.          for legality.  REFEREE mode is also used to step backwards and
  205.          forwards through a game to review it one move at a time.  I use
  206.          REFEREE mode to store and review my own tournament or casual
  207.          chess games, and to review them and print game scores to share
  208.          with friends.  In order to keep track of such games, you can use
  209.          the Title command to enter a heading for the game (printed as
  210.          part of the game record) as well as a name for each player
  211.          involved.  If you intend to use REFEREE mode this way, you should
  212.          know that changing between REFEREE, AUTOPLAY and NORMAL modes
  213.          alters the player names, so the best way is to enter REFEREE
  214.          mode, enter the heading and names, play through the game, and
  215.          then save it to an appropriately named disk file.  In addition to
  216.          the Title option, the Draw and Resign options are available (in
  217.          REFEREE mode only) to correctly enter results of games recorded
  218.          this way.
  219.          
  220.          You can switch between the different modes of play at any time,
  221.          and Springer automatically changes its mode when certain commands
  222.          are executed.  For example, when a game is recalled from a disk
  223.          file, or when the takeback or replay commands are used, Springer
  224.          automatically enters REFEREE mode.  You can change modes
  225.          afterward, of course, and when you change from REFEREE to NORMAL
  226.          mode you will be assigned the side whose turn it is to move.
  227.          
  228.          
  229.          REVIEWING GAMES
  230.          ---------------
  231.          
  232.          Games played with Springer can be reviewed one move at a time
  233.          using the takeback and replay (- and +) commands.  This works out
  234.          nicely using the key sequences * - and * + with the chess board
  235.          always displayed.  The rewind and fast-forward commands (using
  236.          the [ and ] keys) can be used to rapidly back up all the way to
  237.          the beginning of a game (or as far as desired) and watch the game
  238.          being replayed from start to finish (or stopping at any point in
  239.          between).
  240.          
  241.          The rewind command ([) takes back moves one after another until
  242.          the beginning of the game is reached or a key is pressed,
  243.          redrawing the board between moves.  If all you want to do is back
  244.          up as quickly as possible to the start of a game, you should do
  245.          this either using the menu or in text mode, but if you want to
  246.          watch the position closely while backing up, use graphics mode.
  247.          Fast-forward replays the game one move after another until a key
  248.          is pressed or the end is reached, showing each move clearly on
  249.          the board.  I tend to use these commands to find the part of a
  250.          game I'm interested in, then use takeback and replay to study
  251.          that part of the game in detail.  To me, this is one of the nice
  252.          things about Springer: it's so much easier to play through games
  253.          this way than with a real chess board and pieces -- and much
  254.          easier to set up for a new game!
  255.          
  256.          Notice that whenever you use any of the above commands, Springer
  257.          automatically switches to REFEREE mode.  You can use the takeback
  258.          command to give yourself a second chance if you enter the wrong
  259.  
  260.                                           4 
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.          move, taking back the computer's reply, then your original move,
  271.          then switching back to NORMAL mode to enter your new move.  If
  272.          you make a bad move and need to take it back this way, go right
  273.          ahead -- but don't forget to chalk one up to Springer!
  274.          
  275.          
  276.          PRINTING GAMES/POSITIONS
  277.          ------------------------
  278.          
  279.          You can use the Printer commands to print a record of the current
  280.          game or a diagram of the current position.  Printed output goes
  281.          to the LPT1 device.
  282.          
  283.          Game records are printed as numbered lists of moves in two
  284.          columns (for White and Black) using standard Algebraic chess
  285.          notation, which is the same notation used to indicate the last
  286.          move in Springer's on-screen display.  If you are unfamiliar with
  287.          this notation, it shouldn't be too hard to learn by paying
  288.          attention to the way Springer displays moves during the course of
  289.          a game.  The basis of this system of notation is the unique name
  290.          given to each square on the board:  each file (vertical column of
  291.          squares on the diagram) is called by a letter a-h, while each
  292.          rank (horizontal row) is numbered 1-8, always starting with a1 in
  293.          the lower left corner of the diagram (White's Queen's Rook
  294.          square).  A typical move is described by indicating the type of
  295.          piece moved and the ending square (Nf3 means Knight to f3), or
  296.          just the ending square for pawn moves (e.g. e5 for Pawn to e5).
  297.          Captures are indicated by an x, as in Nxf6.  If another piece of
  298.          the same type could have moved to the same square, both starting
  299.          and ending squares are given (Nb1d2 means Knight from b1 to d2).
  300.          King- and Queen-side castling are indicated by O-O and O-O-O,
  301.          respectively.
  302.          
  303.          Diagrams of the current position are printed using dot-matrix
  304.          graphics, and thus require a printer compatible with Epson
  305.          graphics commands.  They are printed in a very legible format,
  306.          with a board size of approximately 2.5" square.  Together with a
  307.          printed list of moves, these diagrams provide a nice hardcopy
  308.          record of the game.
  309.          
  310.          
  311.          SAVED GAMES AND DISK FILES
  312.          --------------------------
  313.          
  314.          The Memory commands provide a way to store and retrieve complete
  315.          games on disk.  For each game you wish to Save or Recall, you
  316.          must provide a complete DOS filename for a disk file to be either
  317.          read or written by Springer.  You can specify any disk or
  318.          directory path as part of the filename.  A List command is also
  319.          provided to show games that have already been saved on the
  320.          current disk directory.  Each game file will take up 1024 bytes
  321.          of disk space, regardless of the length of the game.  When a game
  322.          is Recalled from a file, the last position of the game is
  323.          reconstructed, and play resumes from this point.  These disk
  324.          functions are the only feature of Springer requiring a version of
  325.  
  326.                                           5 
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.          DOS more recent than 1.0.
  337.          
  338.          There is plenty of room on a 360k DOS-formatted diskette for many
  339.          of your own saved game files, in addition to a copy of the
  340.          program file SPRINGER.COM.  The distribution disk contains a
  341.          batch file CHESS.BAT which can be used to start Springer with
  342.          non-standard option settings.  You can edit this batch file,
  343.          which contains a single command line, so that typing the command
  344.          "CHESS" will start a game with the display, level, and other
  345.          options set the way you like them, and then carry around your own
  346.          Springer setup and games on a single floppy disk.
  347.          
  348.          Included on the distribution disk are a few example games you may
  349.          wish to look at, as well as a file containing this document.  See
  350.          the file "READ.ME" for a list of the distribution files.
  351.          
  352.          
  353.          BACKGROUND
  354.          ----------
  355.          
  356.          This section gives the history of Springer, and is included for
  357.          user interest as well as for my own personal gratification.
  358.          
  359.          Springer began in 1983 as one of several half-hearted projects of
  360.          the small electronics company I worked for at the time.  After
  361.          devoting a minimum of time and effort (mine) to this project, the
  362.          company decided it would never result in a marketable product and
  363.          ceased work on the project entirely, and has thereafter abandoned
  364.          all such activities in favor of purely industrial markets.
  365.          
  366.          Since leaving this company in 1988 I have resurrected Springer
  367.          and made many substantial improvements to the program, in playing
  368.          strength as well as features such as ease of use,
  369.          saving/recalling games on disk, printing positions and game
  370.          scores, etc.  It is my intention to continue improving this
  371.          program, and I anticipate a dramatic increase in playing strength
  372.          in the near future.
  373.          
  374.          Springer was written entirely in 8086 assembly language, for two
  375.          reasons: (1)  Speed performance was critical.  (2) No good
  376.          compiler language was available to me at the beginning of this
  377.          project (Anyone remember IBM's FORTRAN and Pascal versions 1.0?
  378.          At least MASM 1.0 WORKED!).   Certain portions of such a program
  379.          are best written in assembly language for maximum performance,
  380.          but less demanding features such as disk and printer I/O,
  381.          handling player input, etc.  could have been dealt with much
  382.          easier using a good Pascal compiler, for instance.
  383.          
  384.          This program was begun when I was new to the 8086 architecture
  385.          and instruction set, and it contains a mixture of well-written
  386.          and not-so-well written sections of code.  As always, I like to
  387.          think that a rewrite at this time would produce much slicker,
  388.          more polished source code.  The philosophy behind choosing the
  389.          computer's move also underwent some radical changes during the
  390.          course of development, and the most major change in this respect
  391.  
  392.                                           6 
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.          was just beginning when the original project was scrapped.  I
  403.          have completed this change, which affects playing strength, as
  404.          well as completing the user interface features, and I believe
  405.          Springer is now a product worthy of your attention.
  406.          
  407.          It turns out to be relatively easy for me to add or rearrange
  408.          major feature of the program now, despite the vast bulk of its
  409.          source code, and I intend to continue working on the program as
  410.          time and money permit, improving playing strength and adding or
  411.          improving peripheral features.  I sincerely hope that you and
  412.          your friends will enjoy using Springer, and I welcome any
  413.          comments or suggestions you may have.
  414.          
  415.          
  416.          RIGHTS AND DISTRIBUTION
  417.          -----------------------
  418.          
  419.          Springer is protected by copyright laws, though you are
  420.          encouraged to copy and share the unmodified program (Version 1.0)
  421.          and this documentation.  If you find this program useful or
  422.          enjoyable, please help me continue to improve it, both by paying
  423.          the modest price of the latest available version, and by offering
  424.          your comments and suggestions.
  425.          
  426.          About bugs: In the context of a program like this, what is a bug?
  427.          A programming error that makes your computer lock up, displays
  428.          gibberish on the screen, etc.  obviously qualifies.  If Springer
  429.          makes an illegal move, fails to correctly recall a game you
  430.          saved, etc.  something is definitely wrong.  An error that
  431.          results in silly or even stupid moves by the computer is much
  432.          more subtle, and much more difficult to diagnose as a true
  433.          programming error.  After all, it may reflect a flaw in the
  434.          philosophy behind Springer's design, and not an error in
  435.          implementation.  In any case, if you think you've found a bug in
  436.          Springer and are willing to take the trouble to report it, please
  437.          be specific regarding what you are doing when the bug shows
  438.          itself, as well as about exactly what happens afterward.
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.                                           7 
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.          An updated version of Springer is available directly from the
  469.          author, along with a collection of 60 of Bobby Fischer's best
  470.          games on the same 5.25" diskette.  To receive the latest version
  471.          available, send $12 to
  472.          
  473.                Ken Goodman
  474.                218 N. 29th St.
  475.                Opelika, AL 36801
  476.          
  477.          Please do not distribute unauthorized copies of this game
  478.          collection, or of versions of Springer other than version 1.0.
  479.          Complete source code for Springer (version 1.0 only) is also
  480.          available for the extremely curious.  It is available on a single
  481.          5.25" diskette in the form of 8086 assembly language for $80.
  482.          The source code can be used or modified for the personal benefit
  483.          of the purchaser, but is not to be distributed, nor is it to be
  484.          used for any commercial purpose, without the prior written
  485.          permission of the author.
  486.          
  487.          If you have specific errors to report, or specific changes to
  488.          suggest, please include them with your order.  If possible, I
  489.          will include any error corrections or useful changes to the
  490.          program in the version I send you.  If this is not practical,
  491.          then I will send you an updated version containing any useful
  492.          changes you suggest as soon as it becomes available, in addition
  493.          to prompt shipment of the latest release available when you
  494.          order.
  495.          
  496.          Alabama residents:  please add 4% sales tax.
  497.          For foreign orders, add appropriate postage for international
  498.          mail delivery.
  499.          
  500.          DISCLAIMER:  No warranty of any kind is claimed for this software
  501.          product, and the author specifically disclaims any implied
  502.          warranty of merchantability or fitness for a particular purpose,
  503.          as well as any responsibility for incidental or consequential
  504.          damages.  Media conveying this software and purchased directly
  505.          from the author, if found to be physically defective in materials
  506.          or workmanship, will be replaced if returned within 10 days of
  507.          receipt.
  508.          
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.                                           8 
  525.  
  526.  
  527.  
  528.